package com.kehutong.charge.service;

import com.kehutong.charge.dto.MeterStatistDTO;
import com.kehutong.charge.entity.MeterManage;
import com.kehutong.charge.service.impl.MeterManageServiceImpl;
import com.kehutong.common.util.Token;
import org.coraframework.inject.ImplementedBy;
import org.coraframework.json.JSONObject;
import org.coraframework.orm.jdbc.Page;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @program: kht
 * @description: 仪表管理接口
 * @author: joneron
 * @create: 2021/6/21
 **/
@ImplementedBy(MeterManageServiceImpl.class)
public interface MeterManageService extends BaseService<MeterManage>{

    Page<MeterStatistDTO> findMeterStatist(JSONObject jsonObject) throws Exception;

    void downMeterStatist(HttpServletRequest req, HttpServletResponse resp, JSONObject jsonObject) throws Exception;

    void pageExport(HttpServletRequest req, HttpServletResponse resp, JSONObject jsonObject);

    Object findMeterObj(JSONObject jsonObject);

    Object importExcel(JSONObject jsonObject, Token token) throws Exception;

    Object save(MeterManage entity, Token token) throws Exception;

    void templateExport(HttpServletRequest req, HttpServletResponse resp,Token token) throws Exception;

    Object switchStatus(String id);

    void importExcelCheck(JSONObject jsonObject);
}
